home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / il_c / ilRFFTfImg.z / ilRFFTfImg
Encoding:
Text File  |  2002-10-03  |  11.0 KB  |  199 lines

  1.  
  2.  
  3.  
  4. iiiillllRRRRFFFFFFFFTTTTffffIIIImmmmgggg((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllRRRRFFFFFFFFTTTTffffIIIImmmmgggg((((3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      iiiillllRRRRFFFFFFFFTTTTffffIIIImmmmgggg - real forward FFT
  10.  
  11. IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
  12.      ilLink : ilImage : ilCacheImg : ilMemCacheImg : ilOpImg
  13.  
  14. HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
  15.      #include <il/ilCdefs.h>
  16.  
  17. CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.      This class is derived from ilOpImg and is one of many Fourier operators
  19.      available. This operator performs a forward FFT on the input image. Being
  20.      an operator image it can be chained with other operators.
  21.  
  22.      In this class the pagesize is set equal to the size of the source image.
  23.      So the cache needs to be big enough to hold the entire image.  For
  24.      multichanneled images, the cache needs to be big enough to hold just one
  25.      channel, since the FFT is performed on one channel at a time.
  26.  
  27.      The FFTs are performed using the 'Prime Factor' algorithm. The source
  28.      image need not have dimensions that are a power of two; in fact there is
  29.      no restriction on the dimensions, though the algorithm is most efficient
  30.      when the dimensions are products of small primes.
  31.  
  32.      This operator is most efficient if the source image has data type iiiillllFFFFllllooooaaaatttt
  33.      and if multichanneled of data order iiiillllSSSSeeeeppppaaaarrrraaaatttteeee. The result of this
  34.      operator is complex and has a specific format, which is described in
  35.      detail in the Programmers Guide.
  36.  
  37. CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
  38.      CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr
  39.  
  40.           ilRFFTfImg *ilRFFTfImgCreate(ilImage *src, short opt)
  41.  
  42.      SSSSeeeetttt ooooppppttttiiiioooonnnn vvvvaaaalllluuuueeee
  43.  
  44.           void ilRFFTfImgSetOption(ilRFFTfImg *img, short opt)
  45.  
  46.  
  47. FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
  48.      iiiillllRRRRFFFFFFFFTTTTffffIIIImmmmgggg(((())))
  49.  
  50.           ilRFFTfImg *ilRFFTfImgCreate(ilImage *src, short opt)
  51.  
  52.  
  53.           This is the constructor for this class. The FFT is performed on ssssrrrrcccc.
  54.  
  55.           If oooopppptttt = ilFFTxformRow then a 1D FFT is performed on the rows
  56.                  = ilFFTxformCol then a 1D FFT is performed on the columns
  57.                  = ilFFTxform2D then a 2D FFT is performed
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiillllRRRRFFFFFFFFTTTTffffIIIImmmmgggg((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllRRRRFFFFFFFFTTTTffffIIIImmmmgggg((((3333))))
  71.  
  72.  
  73.  
  74.           ssssrrrrcccc need not be square and is assumed to be real valued. Since the
  75.           source data is real, the result of the FFT is conjugate symmetric
  76.           i.e. only two of the four quadrants are unique. So only two
  77.           quadrants are computed. But since the result is complex it will have
  78.           the same x and y dimensions as ssssrrrrcccc.
  79.  
  80.      sssseeeettttOOOOppppttttiiiioooonnnn(((())))
  81.  
  82.           void ilRFFTfImgSetOption(ilRFFTfImg *img, short opt)
  83.  
  84.  
  85.           The FFT option oooopppptttt is set to vvvvaaaalllluuuueeee. This function also sets the
  86.           aaaalllltttteeeerrrreeeedddd flag. See iiiillllRRRRFFFFFFFFTTTTIIIImmmmgggg(((()))) for more information about oooopppptttt. See
  87.           iiiillllOOOOppppIIIImmmmgggg(((()))) for more information on the aaaalllltttteeeerrrreeeedddd flag.
  88.  
  89. IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS
  90.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllOOOOppppIIIImmmmgggg
  91.      ilOpImgClearClamp(), ilOpImgGetBias(), ilOpImgGetClamp(),
  92.      ilOpImgGetValidOrders(), ilOpImgGetValidTypes(), ilOpImgIsClamped(),
  93.      ilOpImgIsPrecisionKept(), ilOpImgKeepPrecision(), ilOpImgSetBias(),
  94.      ilOpImgSetClampMinMax(), ilOpImgSetClamp()
  95.  
  96.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllMMMMeeeemmmmCCCCaaaacccchhhheeeeIIIImmmmgggg
  97.      ilMemCacheImgEnableMP(), ilMemCacheImgGetPageTime(),
  98.      ilMemCacheImgGetRetainMode(), ilMemCacheImgGetThrashMode(),
  99.      ilMemCacheImgGetThrashTime(), ilMemCacheImgGetTotalPageTime(),
  100.      ilMemCacheImgIsMPenabled(), ilMemCacheImgSetRetainMode(),
  101.      ilMemCacheImgSetThrashMode()
  102.  
  103.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllCCCCaaaacccchhhheeeeIIIImmmmgggg
  104.      ilCacheImgFlush(), ilCacheImgGetCacheSize()
  105.  
  106.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllIIIImmmmaaaaggggeeee
  107.      ilAddInput(), ilAllocFillData(), ilClipTile(), ilClipTileAsTile(),
  108.      ilClipTileFloat(), ilClipTileFloatAsTile(),
  109.      ilConfigureRetainedCacheImage(), ilCopy(), ilCopyTile(), ilCopyTile3D(),
  110.      ilCopyTileCfg(), ilFillTile(), ilFillTile3D(), ilFillTileRGB(),
  111.      ilFreeFillData(), ilGetColorImg(), ilGetColorModel(), ilGetColormap(),
  112.      ilGetColormapPtr(), ilGetCompression(), ilGetConfig(), ilGetCsize(),
  113.      ilGetDataType(), ilGetDimensions(), ilGetDirectInput(),
  114.      ilGetDisplayCacheEnable(), ilGetFill(), ilGetFillData(),
  115.      ilGetFillValue(), ilGetHeight(), ilGetHwEnable(), ilGetHwHint(),
  116.      ilGetHwHintName(), ilGetHwIntHint(), ilGetHwIntHintName(), ilGetInput(),
  117.      ilGetInputTileRequirement(), ilGetLockTileSet(), ilGetMappedPageSize(),
  118.      ilGetMappedSize(), ilGetMaxColormapLevels(), ilGetMaxValue(),
  119.      ilGetMinValue(), ilGetNumChans(), ilGetNumInputs(), ilGetOrder(),
  120.      ilGetOrientation(), ilGetPageBorder(), ilGetPageBorderPtr(),
  121.      ilGetPageBorderX(), ilGetPageBorderY(), ilGetPageBorderZ(),
  122.      ilGetPageCounts(), ilGetPageDelta(), ilGetPageDeltaStruct(),
  123.      ilGetPageDimensions(), ilGetPageIndices(), ilGetPageOrigin(),
  124.      ilGetPageOriginC(), ilGetPageOriginStruct(), ilGetPageOriginX(),
  125.      ilGetPageOriginY(), ilGetPageOriginZ(), ilGetPageSize(),
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. iiiillllRRRRFFFFFFFFTTTTffffIIIImmmmgggg((((3333))))      IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll      iiiillllRRRRFFFFFFFFTTTTffffIIIImmmmgggg((((3333))))
  137.  
  138.  
  139.  
  140.      ilGetPageSizeBytes(), ilGetPageSizeC(), ilGetPageSizePix(),
  141.      ilGetPageSizeStruct(), ilGetPageSizeVal(), ilGetPageSizeX(),
  142.      ilGetPageSizeXY(), ilGetPageSizeY(), ilGetPageSizeZ(), ilGetPixel(),
  143.      ilGetPixel3D(), ilGetPriority(), ilGetScaleMax(), ilGetScaleMin(),
  144.      ilGetSize(), ilGetSizePtr(), ilGetStrides(), ilGetSubTile(),
  145.      ilGetSubTile3D(), ilGetTile(), ilGetTile3D(), ilGetWidth(), ilGetXsize(),
  146.      ilGetYsize(), ilGetZsize(), ilHasPageBorder(), ilHasPages(),
  147.      ilInitScaleMinMax(), ilIsColorImg(), ilIsIntegral(),
  148.      ilIsMirrorOrientation(), ilIsSigned(), ilIsWritable(), ilLockPage(),
  149.      ilLockPageSet(), ilLockTile(), ilLockTile3D(), ilMapFlipTrans(),
  150.      ilMapFromInput(), ilMapFromInput2D(), ilMapFromInput3D(),
  151.      ilMapFromSource(), ilMapFromSource2D(), ilMapFromSource3D(),
  152.      ilMapOrientation(), ilMapSize(), ilMapTile(), ilMapTileFlipTrans(),
  153.      ilMapTileFloat(), ilMapToInput(), ilMapToInput2D(), ilMapToInput3D(),
  154.      ilMapToSource(), ilMapToSource2D(), ilMapToSource3D(), ilMapXY(),
  155.      ilMapXYFloat(), ilMapXYSign(), ilQCopyTileCfg(), ilQFillTile3D(),
  156.      ilQFillTileRGB(), ilQGetSubTile3D(), ilQGetTile3D(), ilQLockPageSet(),
  157.      ilQSetSubTile3D(), ilQSetTile3D(), ilRemoveHwHint(),
  158.      ilRemoveHwHintName(), ilRemoveInput(), ilSetColorModel(),
  159.      ilSetColormap(), ilSetCompression(), ilSetCsize(), ilSetDataType(),
  160.      ilSetDisplayCacheEnable(), ilSetFill(), ilSetFillValue(),
  161.      ilSetHwEnable(), ilSetHwHint(), ilSetHwIntHint(), ilSetHwIntHintName(),
  162.      ilSetInput(), ilSetMaxColormapLevels(), ilSetMaxValue(), ilSetMinValue(),
  163.      ilSetNumChans(), ilSetOrder(), ilSetOrientation(), ilSetPageBorder(),
  164.      ilSetPageBorderStruct(), ilSetPageSize(), ilSetPageSizeC(),
  165.      ilSetPageSizeStruct(), ilSetPageSizeXY(), ilSetPageSizeZ(), ilSetPixel(),
  166.      ilSetPixel3D(), ilSetPriority(), ilSetScaleMinMax(), ilSetScaleType(),
  167.      ilSetSize(), ilSetSubTile(), ilSetSubTile3D(), ilSetTile(),
  168.      ilSetTile3D(), ilSetXYsize(), ilSetXsize(), ilSetYsize(), ilSetZsize(),
  169.      ilUnlockPage(), ilUnlockPageSet()
  170.  
  171.    IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllLLLLiiiinnnnkkkk
  172.      ilLinkClearSet(), ilLinkClearStatus(), ilLinkGetDescription(),
  173.      ilLinkGetDirectParent(), ilLinkGetDisabledIndex(), ilLinkGetFloatProp(),
  174.      ilLinkGetGenerationID(), ilLinkGetIntProp(), ilLinkGetNumChildren(),
  175.      ilLinkGetNumParents(), ilLinkGetParent(), ilLinkGetPtrProp(),
  176.      ilLinkGetRelatedChild(), ilLinkGetRelatedDelete(),
  177.      ilLinkGetRelatedType(), ilLinkGetStatus(), ilLinkIsAllowed(),
  178.      ilLinkIsAltered(), ilLinkIsEnabled(), ilLinkIsRelated(), ilLinkIsSet(),
  179.      ilLinkRemoveParent(), ilLinkRemoveProp(), ilLinkSetDescription(),
  180.      ilLinkSetDisabledIndex(), ilLinkSetEnabled(), ilLinkSetParent(),
  181.      ilLinkSetProp(), ilLinkSetRelatedDelete(), ilLinkSetRelatedType()
  182.  
  183. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  184.      ilRFFTiImg(3), ilOpImg(3)
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.